+++
title = "State of the projects"
date = 2021-07-04
+++


Updates
=======

-   I update the name of this post after I originally published it to
    something more meaningful.
-   I added a note about not reviewing my dotfiles.

Firstly, the wetware
====================

When I see the word \"antimalware\" at work I always think about
\"animalware\" and Animal the muppet.

My area has returned to saner temperatures. I feel like I still need
some recovery. The local lawmakers have banned fireworks for the season.

That said, the last few weeks I haven\'t had much energy. This
definitely goes way back. The last year since the pandemic my day job
has mostly become more demanding. We\'ve piled on more and more
projects. I do my best to write good code and to leave things better
than I found them. But because I often end up needing to work so much,
it means I still fail. I do not get overtime pay...

All of that said, I feel like I need to do a little overview of the
state of the code. Most of the my projects have fallen behind.

I have had the energy to listen to several clean code/TDD lectures from
Uncle Bob. It has been a good reminder of the things I studied in my
grad program. This, including all the spaghetti code I\'ve worked on
over the last two years, I\'ve decided that plugin architecture with TDD
using SOLID and DRY principles are the only way to go.

Active projects
===============

Aside from my blog and 3d printing, I have several code repos. I either
actively use or have specific plans for these projects. I\'ll skip the
dotfiles and subdotfiles (eg emacs and mutt) for now.

Fenris Punk
-----------

I still have so much on paper, but at least I only have one notepad, as
of a couple months ago. Mostly maps information. The project has
multiple aspects to it. The rules, the story, and recording the
playtests and using those to address issues with the rules. I\'ve fallen
behind on all counts.

The ascii to png renderer needs some work. I had some momentum behind it
around the end of April and beginning of May, but it\'s fallen behind
like all the rest. The death of Near makes me want to continue working
on this because I took some inspiration from the SNES emulation scene,
indirectly such as how to store graphics.

MED
---

This project includes several moving parts that I should probably turn
into a monorepo. An enterprise web app used with SSO,
drop-in/replaceable front-ends, non-complicated style with minimal
dependencies. So many moving parts... I don\'t feel like going over it
all right now, except to say there are some testing and architectural
decisions I made last year when I originally made it as a demo for
students that I don\'t think I want to keep. I originally built this to
demo for groups of students to build upon, extend, or take over, but in
the end the students built something else and I kept working on this
instead. Or rather, these instead.

peers
-----

I mostly need to turn the peers website into a well-formed package with
knowledge of how to create a venv, so developers can just run it. I
might migrate the jams and project ideas in as pages or blog posts. I
might also move the template back into the main project so it only has
one peers-related dependency.

-   jams and project ideas
-   main web site and pelican template

drek
----

I don\'t think I\'ve shared this project yet anywhere... I originally
created this one as a python-based set of tools concerned with secrets
management and backup. For example I have a backup tool for my keys and
pass vault.

code-examples
-------------

I recently added a C example for converting a double to well-formed
localized string because of something I saw at work. I wanted to think
of a better way to implement it. But please don\'t ever use doubles to
store money...

Anyway, I originally created this project to house specific coding
ideas, but I think I\'ll turn it into a monolith for preliminary coding
ideas. That said, I\'ll probably migrate some of my dormant repos such
as these into it:

-   mfws-fe
-   emacs-scripts
-   import-og-query
-   and api-public-information

I think I might rename this repo too and use it for kicking off all my
work from now on, kind of like a counterpart to this very blog.

static-site-generator
---------------------

My custom ssg based on org-mode works just fine, but it clearly has two
issues that I know how to fix, but they\'ve fallen on the back burner.

1.  Only one instance can run at a time.
2.  Only knows how to run projects in a statically defined child
    directory.

Dormant projects
================

I mentioned above that some projects I want to migrate into
code-examples. I have a few others that were fun to experiment with that
I may or may not migrate. Others are significant, but that I have lost
the reason to keep working on them. I\'ll talk about just a few.

ttrpg-character-generator
-------------------------

This elm project wasn\'t really ever any good. I mostly fiddled with it
as a way to learn more about elm off the clock so I could apply that
knowledge to my day job without actually working on the day job task. No
overtime, remember?

peers-identity
--------------

I wrote this originally as a way to learn starlette. Same no-overtime
context as ttrpg-character-generator. It\'s concerned too much with
details such as the framework and database and not the actual use cases.

orbitaldrydock
--------------

This csharp project I worked on at a meetup a while back. I don\'t have
any plans to keep it maintained, but maybe I\'ll return to it someday.

securemailbox
-------------

I think about this one all the time, but right now I just don\'t need it
for anything. These three repos came from another college student
collaboration. They did an awesome job. They definitely belong in the
top three capstone groups I\'ve sponsored/TA\'ed. I\'ve reused some of
the ideas, though I never deployed this because the organization related
to it went under last year. Both the api and cli repos have some great
work in them. Though, I think they\'re both too coupled with flask and
postgres. Again, \"the details\" not the use cases. Some
re-arch/re-design could turn these into an awesome tool. I never used
the demo...

id.ly
-----

Last but not least, this project also involved a capstone project for
the same folks as securemailbox. These students definitely were the top
group I have ever worked with. They built a react-native app to exchange
public keys and encrypt messages. The idea was to build something that
did not require a blockchain, contrast to uPort or compare with IRMA.

Sadly, after they stopped working on the project and I took over, the
target users decided not to use this project at all. I spent another two
months cleaning up the code and refining the build process, but I could
never get anyone else to start using it, let alone to give me feedback.
I also couldn\'t get anyone else to contribute to the project. So now
this project has gone stale for three years. All of that said, it had
two remaining issues at the time when I stopped working on it. I felt
disappointed and ultimately decided to work on some kind of
entertainment-related project instead (eventually what became Fenris
Punk).

1.  Users needed to be in person to init communications.
2.  It had knowledge of a server side bouncer for messages instead of
    true message integration.

self-sovereign-id
-----------------

For the same target audience as securemailbox but also for the same
reason as peers-identity, I hammered on this project for a while just to
fiddle around with routes and components in the framework. It has some
features that I took from id.ly just so I could give it a purpose. I
have better code in MED, now. I don\'t plan on working on this project
anymore.
